1. Field of the Invention
The invention relates to the field of graphical interfaces, and in particular, to graphically displaying logical relationships between objects.
2. Background Information
Even the earliest computer system included a rudimentary mechanism that allowed it to receive input from its users. These mechanism are often called user interfaces. The user interfaces of early computers often employed lights and switches that allowed the computer system user to communicate with the computer system in the system's native language. While this form of communication was effective, its use was essentially limited to scientists and engineers who were trained to understand the particulars of the computer system. For this reason, computer system providers moved to user interfaces that provided for entry of textual commands. While these command-based user interfaces were easier to use than their predecessors, they still typically involved a large number of commands that were often difficult for non-technical individuals to understand and remember. The shortcomings of command-based user interfaces led to the introduction of graphical user interfaces, which are often referred to as GUIs. Instead of requiring the user to have in-depth knowledge of the computer system, graphical user interfaces allow the every day user to communicate with the computer system via a pointing device such as a mouse. To use the computer system to perform various tasks, the user simply “points and clicks” on various GUI items such as icons and taskbars. These icons and taskbars are user friendly ways of activating different programs on the computer.
Data is typically organized in files, grouped in directories. Directories may be grouped together in other directories. Sometimes directories are displayed as folder icons, and the hierarchy of files within directories, and directories within directories, is displayed as a tree structure.
Modern graphical interfaces, such as are used in Windows-based programs, and the like, give access to objects, such as files and directories, by grouping and displaying icons representing objects of similar types in various levels of containers in a tree structure. Although this type of display grouping is useful in many circumstances, there are many situations when the container relationships do not give the user any indication of other relationships that may exist among the objects.
For example, consider a critical table in a database which has 30 indexes and 100 views created over it. The container model allows the user to “drill” down to the table level only, which does not give the user a full appreciation of the relationships between the table and the indexes and views.
In the example shown in FIG. 1, there is a typical view of how data may be grouped today in the SQL 7.0 product from Microsoft. Although SQL 7.0 is used for the example, there may be other data base products which provide a similar graphical interface. In this example, when opening the table container, a list of tables is displayed, but with no visual cues showing how other objects relate to any particular table. That is, there are no visible cues about relationships between the particular table, and the indexes and views. This implementation in FIG. 1 shows only containers in the tree (on left) and uses another window (on right) to list the contents of the container.
However, when dealing with a complex database, for example, the relationships between objects are very difficult to remember and understand, but they are very important to consider when making updates or changes to the database.
Therefore, a new model which would allow the user to see those views and indexes which are directly related to the table, but not contained within the table, i.e., where there is no physical connection, but there are logical connections (relations), would overcome the above-mentioned problems and make the computer systems more user friendly.